Mud pulse telemetry

ABSTRACT

Mud pulse telemetry. The various embodiments are directed to methods and systems of encoding data in a mud pulse telemetry system, where at least a portion of the data is encoded the time between pressure transitions. Moreover, the various embodiments are directed to detection methods and systems that detect the pressure transitions at the surface.

BACKGROUND

Hydrocarbon drilling and production operations demand a great quantityof information relating to parameters and conditions downhole. Suchinformation may comprise characteristics of the earth formationstraversed by the borehole, along with data relating to the size andconfiguration of the borehole itself. The collection of informationrelating to conditions downhole is termed “logging.”

Drillers often log the borehole during the drilling process, therebyeliminating the necessity of removing or “tripping” the drillingassembly to insert a wireline logging tool to collect the data. Datacollection during drilling also enables the driller to make accuratemodifications or corrections as needed to steer the well or optimizedrilling performance while minimizing down time. Designs for measuringconditions downhole including the movement and location of the drillingassembly contemporaneously with the drilling of the well have come to beknown as “measurement-while-drilling” techniques, or “MWD”. Similartechniques, concentrating more on the measurement of formationparameters, commonly have been referred to as “logging while drilling”techniques, or “LWD”. While distinctions between MWD and LWD may exist,the terms MWD and LWD often are used interchangeably. For purpose ofthis disclosure, the term LWD will be used with the understanding thatthis term encompasses both the collection of formation parameters andthe collection of information relating to the movement and position ofthe drilling assembly.

In LWD systems, sensors in the drill string measure the desired drillingparameters and formation characteristics. While drilling is in progressthese sensors continuously or intermittently transmit the information toa surface detector by some form of telemetry. Most LWD systems use thedrilling fluid (or mud) in the drill string as the information carrier,and are thus referred to as mud pulse telemetry systems. Inpositive-pulse systems, a valve or other form of flow restrictor createspressure pulses in the fluid flow by adjusting the size of aconstriction in the drill string. In negative-pulse systems, a valvecreates pressure pulses by releasing fluid from the interior of thedrill string to the annulus. In both system types, the pressure pulsespropagate at the speed of sound through the drilling fluid to thesurface, where they are detected various types of transducers.

Data transfer rates in mud pulse telemetry systems are relatively low,on the order of five bits per second or less of actual downhole data.Moreover, downhole devices that operate as negative-pulse systems drawpower to operate the valve or valves that create the pressure pulsesfrom a battery system with limited energy storage capacity. Thus, anymethod or system that either increases the effective data transfer rate,or provides for longer battery life (whether at existing data transferrates or increased data transfer rates), would provide a competitiveadvantage in the marketplace.

BRIEF DESCRIPTION OF THE DRAWINGS

For a detailed description of exemplary embodiments, reference will nowbe made to the accompanying drawings in which:

FIG. 1 shows a drilling system in accordance with at least someembodiments;

FIG. 2 shows a block diagram of a telemetry module in accordance with atleast some embodiments;

FIG. 3 shows drilling fluid pressure as a function of time, and showingseveral intervals;

FIG. 4 shows drilling fluid pressure as a function of time, and showinga single interval (defined by coherent features of consecutive pressurepulses) with several possible second pulses;

FIG. 5A shows drilling fluid pressure as a function of time, and showingencoding data for each interval as the time between pressure transitionsof one of the pulses that make up the interval;

FIG. 5B shows a method in accordance with at least some embodiments;

FIG. 5C shows a method in accordance with at least some embodiments;

FIG. 6 shows a graph that relates the number of bits per secondmodulated as pressure pulses of the drilling fluid, MIN-TIME for pulses,and the number of days to exhaust battery life;

FIG. 7 shows a graph of drilling fluid pressure as a function of time,and showing encoding data solely as the time between pressuretransitions;

FIG. 8 shows drilling fluid pressure as a function of time, and showinga single interval (defined by consecutive pressure transitions) withseveral possible second transitions;

FIG. 9 shows a plurality of waveforms related to discussion of detectionof pressure transitions in accordance with particular embodiments;

FIG. 10 shows a method in accordance with at least some embodiments;

FIG. 11 shows a plurality of waveforms related to discussion ofdetection of pressure transitions in accordance with particularembodiments;

FIG. 12 shows a block diagram of interaction of software modules inaccordance with at least some embodiments;

FIG. 13 shows a method in accordance with at least some embodiments;

FIG. 14 shows an illustrative pipe with drilling fluid therein, andreflective devices, in order to describe reflection of pressure pulsesand interference;

FIG. 15 shows a graph of drilling fluid pressure as a function of timefor an upstream travelling pressure pulse;

FIG. 16 shows a graph of drilling fluid pressure as a function of timefor a reflected pressure pulse;

FIG. 17 shows a graph of drilling fluid pressure as a function of timefor a particular placement of the transducer and pulse time duration;

FIG. 18 shows a graph of drilling fluid pressure as a function of timefor a particular placement of the transducer and pulse time duration;

FIG. 19 shows a graph of drilling fluid pressure as a function of timefor a particular placement of the transducer and pulse time duration;

FIG. 20 represents a set of test pressure signals that correspond to aset of two possible pulse durations, in accordance with at least someembodiments;

FIG. 21 shows a graph of correlation of a measured pressure signals torespective test pressure signals;

FIG. 22 shows a graph of correlation of a measured pressure signals torespective test pressure signals;

FIG. 23 shows a method in accordance with at least some embodiments;

FIG. 24 shows an illustrative pipe with drilling fluid therein, andreflective devices, and detection by arrays of transducers, inaccordance with at least some embodiments;

FIG. 25 shows a plurality of waveforms to discuss detection of pressuretransitions in accordance with at least some embodiments;

FIG. 26 shows a plurality of waveforms where at least some of thewaveforms are shifted to align a particular feature, in accordance withat least some embodiments;

FIG. 27 shows a combined waveform in accordance with at least someembodiments;

FIG. 28 shows a method in accordance with at least some embodiments; and

FIG. 29 shows a computer system in accordance with at least someembodiments.

NOTATION AND NOMENCLATURE

Certain terms are used throughout the following description and claimsto refer to particular system components. As one skilled in the art willappreciate, oil field service companies may refer to components bydifferent names. This document does not intend to distinguish betweencomponents that differ in name but not function.

In the following discussion and in the claims, the terms “including” and“comprising” are used in an open-ended fashion, and thus should beinterpreted to mean “including, but not limited to . . . . ” Also, theterm “couple” or “couples” is intended to mean either an indirect ordirect connection. Thus, if a first device couples to a second device,that connection may be through a direct connection or through anindirect connection via other devices and connections.

“Pressure transitions” shall mean communicative changes in pressure ofdrilling fluid within a drill string caused by operation of a valve thatselectively controls flow of the drilling fluid. Changes in pressure ofdrilling fluid within a drill string caused by non-communicative noisesources, such as bit noise, bit-jet noise, drill string torque noise andmud-pump noise, shall not be considered pressure transitions.

“Negative pressure transition” shall mean a change in pressure of thedrilling fluid where the drilling fluid is initially at a particularbaseline pressure, and the pressure of the drilling fluid then changesto a lower pressure, though not necessarily a negative pressure.

“Positive pressure transition” shall mean a change in pressure of thedrilling fluid where the drilling fluid is initially at a particularbaseline pressure, and the pressure of the drilling fluid then changesto a higher pressure.

“Pressure pulse” shall mean a first pressure transition to a changeddrilling fluid pressure, followed by a second pressure transition tosubstantially the original drilling fluid pressure. For example, innegative-pulse systems a pressure pulse comprises a negative pressuretransition, a period of time at a lower drilling fluid pressure,followed by a positive pressure transition. As yet another example, inpositive-pulse systems a pressure pulse comprises a positive pressuretransition, a period of time at a higher drilling fluid pressure,followed by a negative pressure transition.

“Amount of time between coherent features” of two pressure pulses shallmean that time measurement between two pressure pulses is based on thesame feature in each pressure pulse (e.g., the time between leadingpressure transitions of the pressure pulses, time between trailingpressure transitions, or the time between the centers of the pressurepulses).

“Reflective device” shall be any device or structure that causespressures pulses propagating in a pipe in a first direction to reflectand propagate opposite the first direction, whether the reflection is apositive reflection or negative reflection. For example, a desurgerand/or mud pump are considered reflective devices.

“Pulse length” shall refer to a distance between the leading pressuretransition of a pressure pulse in drilling fluid and the trailingpressure transition of the pressure pulse.

DETAILED DESCRIPTION

The following discussion is directed to various embodiments of theinvention. Although one or more of these embodiments may be preferred,the embodiments disclosed should not be interpreted, or otherwise used,as limiting the scope of the disclosure, including the claims. Inaddition, one skilled in the art will understand that the followingdescription has broad application, and the discussion of any embodimentis meant only to be exemplary of that embodiment, and not intended tointimate that the scope of the disclosure, including the claims, islimited to that embodiment.

The various embodiments are directed to mud pulse telemetry methods andsystems. The methods and systems include a plurality of encodingtechniques where data is encoded, at least in part, as the time betweenpressure transitions of pressure pulses in the drilling fluid. Moreover,the various embodiments are directed to a plurality of pressuretransition methods and systems to detect the pressure transitions in thedrilling fluid with varying pulse lengths (corresponding to pulse timedurations) and physical constraints on surface detection equipment.

FIG. 1 shows a well during drilling operations. A drilling platform 102is equipped with a derrick 104 that supports a hoist 106. Drilling ofhydrocarbon wells is carried out by a string of drill pipes connectedtogether by “tool” joints 107 so as to form a drill string 108. Thehoist 106 suspends a top drive 110 that is used to rotate the drillstring 108 and to lower the drill string through the wellhead 112.Connected to the lower end of the drill string 108 is a drill bit 114.The drill bit 114 is rotated and drilling accomplished by rotating thedrill string 108, by use of a downhole motor near the drill bit, or byboth methods. Drilling fluid is pumped by mud pump 116 through flow line118, stand pipe 120, goose neck 124, top drive 110, and down through thedrill string 108 at high pressures and volumes to emerge through nozzlesor jets in the drill bit 114. The drilling fluid then travels back upthe borehole via the annulus 126 formed between the exterior of thedrill string 108 and the borehole wall 128, through a blowout preventer(not specifically shown), and into a mud pit 130 on the surface. On thesurface, the drilling fluid is cleaned and then circulated again by mudpump 116. The drilling fluid is used to cool the drill bit 114, to carrycuttings from the base of the bore to the surface, and to balance thehydrostatic pressure in the rock formations.

In wells employing mud pulse telemetry for logging while drilling(“LWD”), downhole tools 132 collect data regarding the formationproperties and/or various drilling parameters. The downhole tools 132are coupled to a telemetry module 134 that transmits the data to thesurface. Telemetry module 134 modulates a resistance to drilling fluidflow to generate pressure pulses that propagate at the speed of sound tothe surface. Various transducers, such as transducers 136, 138 and 140,convert the pressure signal into electrical signals for a signaldigitizer 142 (e.g., an analog to digital converter). While threetransducers 136, 138 and 140 are illustrated, a greater number oftransducers, or fewer transducers, may be used in particular situations(discussed more thoroughly below). The digitizer 142 supplies a digitalform of the pressure signals to a computer 144 or some other form of adata processing device. Computer 144 operates in accordance withsoftware (which may be stored on a computer-readable storage medium) toprocess and decode the received signals. The resulting telemetry datamay be further analyzed and processed by computer 144 to generate adisplay of useful information. For example, a driller could employcomputer system 144 to obtain and monitor bottom hole assembly (BHA)position and orientation information, drilling parameters, and formationproperties.

Telemetry module 134 generates a traveling pressure signalrepresentative of measured downhole parameters. In an ideal system, eachand every pressure pulse created downhole would propagate upstream andbe easily detected by a transducer at the surface. However, drillingfluid pressure fluctuates significantly and contains noise from severalsources (e.g., bit noise, torque noise, and mud pump noise). Bit noiseis created by vibration of the drill bit during the drilling operation.As the bit moves and vibrates, the drilling fluid exit ports in the bitcan be partially or momentarily restricted, creating a high frequencynoise in the pressure signal. Torque noise is generated downhole by theaction of the drill bit sticking in a formation, causing the drillstring to torque up. The subsequent release of the drill bit relievesthe torque on the drilling string and generates a low frequency, highamplitude pressure surge. Finally, the mud pump 116 creates cyclic noiseas the pistons within the pump force the drilling fluid into the drillstring.

Most drilling systems contain a dampener or desurger 152 to reducenoise. Flow line 118 couples to a drilling fluid chamber 154 in desurger152. A diaphragm or separation membrane 156 separates the drilling fluidchamber 154 from a gas chamber 158. Desurger manufactures recommend thatthe gas chamber 158 be filled with nitrogen at approximately 50 to 75%of the operating pressure of the drilling fluid. The diaphragm 156 moveswith variations in the drilling fluid pressure, enabling the gas chamberto expand and contract, thereby absorbing some of the pressurefluctuations. While the desurger 152 absorbs some pressure fluctuations,the desurger 152 and/or mud pump 116 also act as reflective devices.That is, pressure pulses propagating from the telemetry module 134 tendto reflect off the desurger 152 and/or mud pump 116, sometimes anegative reflection, and propagate back downhole. The reflections createinterference that, in some cases, adversely affects the ability todetermine the presence of the pressure pulses propagating from thetelemetry module 134.

FIG. 2 shows, in electrical block diagram form, the telemetry module134. The telemetry module 134 comprises two logical sections, acommunication section 200 and a pulse control section 202. While in someembodiments the communication section 200 and pulse control section 202are co-located in a single physical device, in other embodiments thecommunication section 200 and pulse control section 202 are embodied inseparate physical devices that are mechanically and electrically coupledtogether. The various downhole tools 132 provide sensor data 206 to thecommunication section 200, and in particular to processor 208 (e.g., adigital signal processor (DSP)).

The processor 208 operates in accordance with software from memory 210to represent the sensor data 206 in the form of a digital transmitsignal. In particular, the software contained in memory 210 comprisesmultiple software modules 212-218. Compression module 212 processes theincoming sensor data to reduce the amount of transmitted data, such asby various compression techniques, by eliminating particular data pointsor by taking representative samples. In some cases, the data stream maybe differentially encoded, so that differences between successive valuesare sent rather than the values themselves. Usually, differentialencoding permits a data stream to be represented with fewer bits. Othercompression techniques may be equivalently used. Multiplexing andframing module 214 selects sensor data from the various downhole toolsto construct a single transmit data stream. The transmit data stream isdivided into data blocks that may be accompanied by framing informationin some embodiments. The framing information may include synchronizationinformation and/or error correction information from forward errorcorrection (FEC) module 216. Channel coding module 218 converts thedigital transmit signal into a set of timings. The precise nature of theset of timings depends on the particular pulse encoding system, examplesof which are discussed more below. The processor 208 then communicatesthe timings to the pulse control section 202.

The pulse control section 202 receives the set of timings, and basedthereon induces pressures pulses in the drilling fluid within the drillstring 108. The pulse control section 202 in accordance with at leastsome embodiments comprises a processor 220, memory 222, open solenoid224, close solenoid 226, two capacitor banks 227 and 228, and battery230. The processor 220 operates in accordance with software from memory222, in particular the pulse control module 232, to control creatingpulses in the drilling fluid. The processor 220 accepts the set oftimings from processor 208 of the communication section 200 acrosscommunication pathway 234. The communication pathway 234 may be either aserial or parallel communication pathway. The pulse control module 202may, in bursts, receive sets of timings from the communication module200 faster than sets of timings can be implemented. Thus, memory 222further comprises a buffer 236 in which the processor 220 may placemultiple sets of timings, the buffer 234 thereby acting as a queue.

Still referring to FIG. 2, the pulse control section 202 createspressure pulses in the drilling fluid by control of a valve. In theembodiments illustrated the valve (not specifically shown) is opened byoperation of the open solenoid 224, and the valve is closed by operationof the close solenoid 226. Solenoids use relatively high amounts ofcurrent to operate, in some cases more instantaneous current thanbattery 230 can provide. However, the power (voltage times current) usedto operate a solenoid is well within the capabilities of battery. Toaddress the current versus power issue, in accordance with at least someembodiments each solenoid 224 and 226 is associated with a capacitorbank 227 and 228, respectively. The battery 230 charges each capacitorbank between uses at a charge rate within the current capability of thebattery 230. When the processor 220 commands the valve to open,capacitor bank 227 is electrically coupled to the open solenoid 224,supplying electrical current at sufficiently high rates to operate thesolenoid (and open the valve). Likewise, when the processor 220 commandsthe valve to close, capacitor bank 228 is electrically coupled to theclose solenoid 226, supplying electrical current at sufficiently highrates to operate the solenoid (and close the valve).

The valve that physically creates the pressure pulses in the drillingfluid may take many forms. In some cases, the valve may create pressurepulses by temporarily restricting or even blocking flow of the drillingfluid in the drill string. In situations where the drilling fluid isrestricted or blocked, an increase in drilling fluid pressure is created(i.e., a positive-pulse system). In yet still other embodiments, thevalve may be configured to divert a portion of the drilling fluid out ofthe drill string into the annulus 126, thus bypassing the drill bit 114.In situations where the drilling fluid is diverted, a decrease indrilling fluid pressure occurs (i.e., a negative-pulse system). Eitherpositive-pulse systems or negative-pulse systems may be used in thevarious embodiments, so long as the telemetry module 134 can createpressure transitions (lower drilling fluid pressure to higher drillingfluid pressure, and vice versa) with sufficient quickness (e.g., 18milliseconds (ms)).

The various embodiments are directed to encoding at least some data asthe time between transitions in drilling fluid pressure, and detectingthe transitions at the surface. In a first embodiment, a pulse positionmodulation system is modified to encode additional bits as time betweenpressure transitions of the pulses. In another embodiment, data isencoded solely as the time between pressure transitions. The discussionbegins embodiments where a pulse position modulation system is modifiedto encode additional bits as time between transitions of the pulses.

FIG. 3 shows an exemplary graph of drilling fluid pressure as a functionof time, which may be measured by the computer system 144 coupled to oneof the transducers 136, 138 and/or 140 (FIG. 1). The illustrative graphof FIG. 3 represents an ideal situation where ideal square wave pulsesare generated downhole, and are detected as ideal square waves at thesurface. FIG. 3 shows the pulses as positive pulses for convenience, butnegative pulses are also contemplated. Each pulse has a pulse durationwhich may range from about 80 ms in some embodiments, to about 400 ms inother embodiments, depending on various parameters of the drillingsystem. In pure pulse position modulations systems, the pulse durationsare substantially constant to aid in detection. However, and asdiscussed more below, in at least some embodiments a variety of pulsedurations may be selectively used (e.g., 50 ms pulses, 100 ms pulses,150 ms pulses, and 200 ms pulses).

In accordance with the specific embodiment, data is transmitted inintervals, and FIG. 3 shows three such intervals I₁, I₂ and I₃. In theembodiments utilizing pulse position modulation, an interval is theamount of time between coherent features of two consecutive pressurepulses. For example, and as shown, an interval may be an amount of timebetween leading pressure transitions of each pulse. Alternatively, aninterval may be the amount of time between trailing pressure transitionsof each pulse, or the amount of time between the centers of each pulse.Each interval has a duration that is at least a minimum time (MN-TIME).An interval having duration substantially equal to the MIN-TIME encodesa data value zero. The MIN-TIME duration may allow the drilling fluidcolumn to settle after a pressure transition event (allows ringing andother noise in the drilling fluid to dampen out). The MIN-TIME maychange for each particular drilling situation, but in most cases rangesfrom between approximately 0.3 seconds to 2.0 seconds. In someembodiments (e.g., positive-pulse systems), a MIN-TIME of 0.6 secondsmay be used. In other embodiments (e.g., negative-pulse systems) aMIN-TIME of 1.0 seconds may be used.

FIG. 4 shows a single interval comprising a first pulse 400 and severalpossible second pulses (shown in dashed lines) to further illustrateparameters. In particular, the pulse position modulation aspect ofparticular embodiments utilizes a window in which a pulse of an intervalmay fall, yet still represent the same value. After the MN-TIME, a pulsemay fall within one of several BIT-WIDTH windows. So long as pulse fallssomewhere within the BIT-WIDTH window, the data value encoded is stillthe same. For example, the pulse 402 falls within a first BIT-WIDTHwindow 404, and thus in this particular example the interval encodes adata value zero (e.g., hexadecimal 00). Pulse 406 falls within the nextBIT-WIDTH window, and therefore the time duration between pulse 400 andpulse 406 represents a first data value (e.g., hexadecimal 01).Likewise, the pulse 408 falls within the third BIT-WIDTH window, andtherefore the time duration between pulse 400 and pulse 408 mayrepresent a second data value (e.g., hexadecimal 10). The data value maybe decoded using substantially the following equation:

DATA=(INTERVAL−MIN-TIME)/BIT-WIDTH  (1)

Where DATA is the decoded value, INTERVAL is the measured time betweencoherent features of the two pulses, and MIN-TIME and BIT-WIDTH are asdescribed above. The BIT-WIDTH may change for each particular drillingsituation, but in most cases ranges from between approximately 20 ms to120 ms, and in many cases a BIT-WIDTH of 40 ms is used. For a particularnumber of bits encoded within each interval, there is a maximum time(MAX-TIME) duration. For example, if a particular interval encodes afour-bit number (which could therefore range from zero to fifteen), thefour-bit number at its maximum value forces an interval duration equalto MAX-TIME.

In accordance with at least some embodiments, in addition to the valueencoded as the amount of time between coherent features of consecutivepulses that make up an interval, an additional value is encoded in theduration of at least one of the pulses that make up the interval. FIG.5A shows a plurality of intervals I₁, I₂ and I₃, with varying pulsedurations, to illustrate the combined coding. In particular, FIG. 5Aillustrates two possible pulse durations, with pulse 500 illustrating ashort duration, and pulse 502 illustrating a long duration. A shortpulse time duration may encode a first data value (e.g., data valuezero), and a long pulse time duration may encode a second data value(e.g., data value 1). Thus, the total number of bits encoded in aninterval includes the number of bits from the pulse position modulation,as well as the additional bit or bits encoded in the duration of one ofthe pulses. For example, if each interval encodes a four-bit number inthe amount of time between coherent features of consecutive pulses, andan additional bit is encoded in the pulse duration of one of the pulses,then a total of five bits is encoded. More generally then, in someembodiments a number of bits encoded in the time between coherentfeatures is in the range of 3 to 6 bits, and a number of bits encoded inthe pulse duration is in range of 1 to 3 bits.

FIG. 5B shows a method in accordance with embodiments where data valuesare encoded as the amount of time between coherent features ofconsecutive pulses that make up an interval and in the duration of atleast one of the pulses that make up the interval. In particular, themethod starts (block 510) and proceeds to obtaining, by a device withina drill string, a first datum indicative of a state or conditiondownhole (block 512). For example, the first datum could be a formationparameter, a parameter of the drill string (e.g., orientation,direction), or a state or condition of the drill string itself).Regardless of the precise parameter, the illustrative method proceed toinducing pressure pulses in drilling fluid within the drill string, thepressure pulses propagate to the surface (block 514). The inducingcomprises encoding a first portion of the first datum as an amount oftime between coherent features of a first pressure pulse and animmediately subsequent second pressure pulse (block 516). And theinducting further comprises encoding a second portion of the first datumas an amount of time between a first pressure transition and animmediately subsequent second pressure transition of at least oneselected from the group consisting of: the first pressure pulse; and thesecond pressure pulse (block 518). Thereafter, the illustrative methodends (block 520).

FIG. 5C likewise illustrates a method (e.g., software) in accordancewith embodiments where data values are encoded as the amount of timebetween coherent features of consecutive pulses that make up an intervaland in the duration of at least one of the pulses that make up theinterval. In particular, the method starts (block 550) and proceeds toread values indicative of pressure within a pipe that has drilling fluidflowing therein, the drilling fluid carries pressure pulses that encodedata (block 552). Next, the method detects (in the values indicative ofpressure) an amount of time between coherent features of a firstpressure pulse and an immediately subsequent second pressure pulse(block 554), and detects (in the values indicative of pressure) anamount of time between a first pressure transition and an immediatelysubsequent second pressure transition (block 556). The method thendecodes from the amount of time between the first and second pressurepulses a first portion of the value sent from the downhole device (block558), and decodes from the amount of time between the first and secondpressure transitions a second portion of the value sent from thedownhole device (block 560). Thereafter, the method ends (block 562).

Before delving into the advantage of encoding bits in the mannerillustrated in FIG. 5, a few points are in order. Though FIG. 5illustrates that in some embodiments the leading pulse in each intervalencodes the additional bit or bits, in other embodiments the trailingpulse encodes the additional bits for an interval. Moreover, so as notto unduly complicate the discussion, FIG. 5 illustrates only twodistinct pulse durations; however, two or more distinct pulse durationsmay be equivalently used (e.g., four distinct pulse durations). In theillustrative case of four distinct pulse durations, two additional bitsof data may be encoded. So, for example, if five bits of data areencoded in the amount of time between coherent features of two adjacentpulses, and two bits are encoded in one of the pulses, then a total ofseven bits is encoded.

In some cases, where the amount of energy needed to modulate data aspressure pulses in the drilling fluid is unlimited, encoding additionaldata bits in the pulse duration is used to increase the total bandwidthof the system. However, as described in reference to FIG. 2, the pulsecontrol module 202 of some telemetry modules 134 operate based solely onthe energy stored in battery 230. The encoding technique described abovemay be used to extend battery life while transferring the same overallamount of data. In many cases a bit run (i.e., the amount of time pulsecontrol module 202 is expected to run on battery power alone withoutbeing recharged) may last many days. By encoding additional data bits inthe pulse duration, and slowing the overall pulse rate, the same amountof information may be telemetered to the surface with fewer pulses, thusextending the battery life.

FIG. 6 shows a graph that relates the number of bits per secondmodulated as pressure pulses of the drilling fluid, MIN-TIME for pulses,and battery life. The description of FIG. 6 will first consider a systemwhere no pulses are encoded in the time between pressure transitions,followed by an example of encoding data in the time between pressuretransitions.

Consider, as a first example of the relationship between bits per secondand MIN-TIME, a system where the time between pressure pulses encodesfour bits of data, the BIT WIDTH is 40 ms, and the pulse time durationsare a constant 50 ms. Dashed line 600 relates the bits per second (leftvertical scale) in the illustrative situation to the selected MIN-TIME(bottom scale). For example, for an illustrative MIN-TIME equal to 300ms, six bits per second can be encoded (point 602). For an illustrativeMIN-TIME equal to 1000 ms, about 3 bits per second can be encoded (point604, but read from the left scale). Solid line 606 relates the batterylife (right vertical scale) to the selected MN-TIME. For example, forconstant pulse time durations and an illustrative MIN-TIME of 400 ms(point 608), a battery life of about five days can be expected (as shownby lines 610 and 612).

Still referring to FIG. 6, now consider a situation where two bits areencoded as the time between pressure transitions, four bits are encodedin the time between pressure pulses, and the BIT WIDTH is 20 ms.Dash-dot-dash line 616 relates the bits per second (left vertical scale)in the illustrative situation to the selected MIN-TIME. For example, foran illustrative MIN-TIME equal to 300 ms, 12 bits per second can beencoded (point 618). For an illustrative MIN-TIME equal to 1000 ms,about 5 bits per second can be encoded (point 620, but read from theleft scale). So as between the system with constant pulse time durationsand encoding two bits in as the time between pressure transitions,encoding two bits in the pulse width and a MIN-TIME of 1000 ms producesabout the same bit rate (approximately five bits per second) as systemswith constant pulse time duration at a MIN-TIME of 400 ms (point 608),but the battery life may double.

Returning briefly to FIG. 2, in the combined coding embodiments thecommunication section 200 may pass to the pulse control section 202, foreach interval, a set of timings that indicate the time between coherentfeatures of consecutive pressure pulses, along with an indication of thepulse duration. Alternatively, the communication section, for eachinterval, may pass two timings—one for the time between coherentfeatures of consecutive pressure pulses, and one for the time betweenpressure transitions of one of the pressure pulses. Further still, thecommunication section 200 may pass to the pulse control section 202 thedatum to be modulated, and the pulse control section may then separatethe datum into two groups of bits being those bits to be encoded as thetime between coherent features of consecutive pulses, and those bits tobe encoded in the time between consecution pressure transitions.

In accordance with yet still other embodiments, the downhole data may beencoded exclusively as the time between pressure transitions. Moreparticularly, some embodiments encode data as the time between a firstpressure transition of the drilling fluid, and an immediately subsequentpressure transition of the drilling fluid, whether those transitions arepositive pressure transitions or negative pressure transitions.

FIG. 7 shows an exemplary graph of drilling fluid pressure as a functionof time, which may be measured by the computer system 144 coupled to oneof the transducers 136, 138 and/or 140 (FIG. 1). The illustrative graphof FIG. 7 represents an ideal situation where ideal transitions aregenerated downhole, and are detected as ideal transitions at thesurface. The nature of the pulses that create the pressure transitionsmay be either positive pulses or negative pulses, but in some casesnegative-pulse systems create more distinct pressure transitions. Inaccordance with the specific embodiment, data is transmitted inintervals, and FIG. 7 shows three such intervals I₁, I₂ and I₃. Aninterval in this embodiments is the amount of time between consecutivepressure transitions. For example, and as shown for interval I₁, aninterval may be an amount of time between a negative pressure transition702 and an immediately subsequent positive pressure transition 704.Likewise, and as shown for interval I₂, an interval may be an amount oftime between a positive pressure transition 704 and an immediatelysubsequent negative pressure transition 706. Each interval has aduration that is at least a MIN-TIME. An interval having a time durationsubstantially equal to the MIN-TIME encodes a data value zero. TheMIN-TIME may change for each particular drilling situation, but in mostcases ranges from between approximately 0.3 seconds to 2.0 seconds, andin many cases a MIN-TIME is 0.6 seconds is used.

FIG. 8 shows a single interval comprising a first and several possiblesecond pressure transitions (shown in dashed lines) to furtherillustrate various parameters. Illustrative FIG. 8 is shown with respectto an interval comprising a negative pressure transition 802 and apositive pressure transition 804, but the various parameters are equallyapplicable to intervals created from positive pressure transitionsfollowed by negative pressure transitions. The particular embodimentsutilize a window in which the second pressure transition of an intervalmay fall, yet still represent the same value. After the MN-TIME, apressure transition may fall within one of several BIT-WIDTH windows(shown by dash-dot-dash lines). So long as a transition falls somewherewithin the BIT-WIDTH window, the data value encoded is still the same.For example, the transition 806 falls within a first BIT-WIDTH window808, and thus in this particular example the interval encodes a datavalue zero (e.g., hexadecimal 00). Transition 810 falls within the nextBIT-WIDTH window, and therefore the time duration between transition 802and transition 810 represents a first data value (e.g., hexadecimal 01).Likewise, the transition 814 falls within the third BIT-WIDTH window,and therefore the time duration between transition 804 and transition814 may represent a second data value (e.g., hexadecimal 10). The datavalue may be decoded using substantially the following equation:

DATA=(INTERVAL−MIN-TIME)/BIT-WIDTH  (2)

Where DATA is the decoded value, INTERVAL is the measured time betweenconsecutive pressure transitions, and MIN-TIME and BIT-WIDTH are asdescribed above. The BIT-WIDTH may change for each particular drillingsituation, but in most cases ranges from between approximately 20 ms and120 ms, and in many cases a BIT-WIDTH of 40 ms is used.

Encoding data solely within the time between pressure transitionssignificantly increases overall the bit rate for the system and/or maybe used to increase battery life of the telemetry module 134 (FIG. 1).For example, consider a pulse position modulation system where eachinterval encodes seven bits of data. For long strings of pulses, eachpulse serves double duty—the trailing pulse of one interval, and theleading pulse of the next interval. In order to calculate bits perpressure transition, the leading pressure transition of each pulse isconsidered to be shared (assigned a 0.5 transition value), the secondpressure transition not shared, and the final pressure transition shared(also assigned a 0.5 transition value). The illustrative seven bits arethus encoded by two pressure transitions (two shared transitions, and anunshared transition), resulting in 3.5 bits per pressure transition (7bits/2 transitions).

Now consider a system where each interval encodes seven bits of data asthe time between pressure transitions. For long strings of pressuretransitions, each pressure transition serves double duty—the trailingtransition of one interval, and the leading transition of the nextinterval. In order to calculate bits per pressure transition, theleading pressure transition of each interval is considered to be shared(assigned a 0.5 transition value) and the trailing transition of eachinterval is considered to be shared (also assigned a 0.5 transitionvalue). Thus, in systems where the data is encoded as the time betweenpressure transitions, for long strings of pressure transitions theillustrative seven bits are encoded effectively by one pressuretransition (two shared transitions), resulting in seven bits perpressure transition (7 bits/1 transition). In drilling situations wherethe limiting factor is battery life of the pulse control section 202(FIG. 2) of the telemetry module 134 (FIG. 1), an increase in data perpulse, combined with a decreased effective pressure transition rate (andthus decreased pulse rate), increases the amount of time the battery ofthe pulse control section 202 is operation downhole for the same amountof data telemetered to the surface.

Returning briefly to FIG. 2, in the embodiments where data is encodedexclusively as the time between consecutive pressure transitions, thecommunication section 200 may pass to the pulse control section 202, foreach interval, an indication of the timing to be used betweenconsecutive pressure transitions. Alternatively, the communicationsection 200 may pass to the pulse control section 202 the datum to bemodulated, and the pulse control section may then determine the timingsto be used.

The various embodiments discussed to this point have all been inrelation to techniques for modulating the drilling fluid by thetelemetry module 134 (FIG. 1). Returning briefly to FIG. 1, thepressures pulses and/or pressure transitions propagate from the downholetelemetry module 134 to the goose neck 124, riser pipe 120 and flow line118. Any one or a combination of the transducers 136, 138 and/or 140detect the pressure changes, and a time series of values representingpressure (i.e., a pressure waveform) in the pipe at the variouslocations is read by the computer system 144. The discussion now turnsto various techniques and systems for detecting pressure pulses and/orpressure transitions read by the surface computer 144.

FIG. 9 shows a plurality of waveforms for discussion of an embodiment ofdetecting pressure transitions at the surface. In particular, FIG. 9shows a pressure waveform 900 representing drilling fluid pressure readat the surface. The pressure waveform 900 is shown about a zero axis902. In practice the pressure waveform oscillates around the baselinepressure of the drilling fluid created by the mud pump 116 (e.g., about3000 pounds per square inch (psi)), but the drilling fluid baselinepressure is not shown so as not to unduly complicate the figure. Theillustrative pressure waveform 900 has four pressure transitions, beingtwo positive pressure transitions 904 and 906, as well as two negativepressure transitions 908 and 910. For relatively new drilling rigs,drilling rigs that are well designed, and/or drilling rigs with gooddrilling fluid pressure noise cancellation, pressure waveform 900 may beread by a single pressure transducer. In other cases, the waveform 900may be the result of combining the pressure waveforms from three or morepressure transducers.

In accordance with the particular embodiment, detecting the pressuretransitions associated with pressure pulses involves calculating afiltered pressure representation of the pressure waveform 900, thefiltered pressure representation shown as waveform 912. In at least someembodiments, the filtering performed is high-pass filtering, but otherfiltering techniques (e.g., instantaneous first derivative of thepressure waveform 900) may be equivalently used. The filtered pressurewaveform thus shows the pressure transitions as positive-going andnegative-going pressure spikes. For example, negative pressuretransition 908 in the pressure waveform 900 results in a negative-goingpressure spike 914 in the filtered pressure waveform 912. Likewise,positive pressure transition 904 in the pressure waveform 900 results ina positive-going pressure spike 916 in the filtered pressure waveform.

Next, the absolute value of the filtered pressure waveform 912 is taken,resulting in final waveform 918. Algorithmically taking the absolutevalue “flips” or “rotates” all the negative-going pressure spikes topositive-going pressure spikes. Thus, negative-going pressure spike 914in filtered waveform 912 becomes positive-going spike 920 in finalwaveform 918. Likewise, positive-going pressure spike 916 relates topositive-going pressure spike 922 in the final waveform 918. Thesignificance of the all positive-going pressure spikes in the finalwaveform 918 is that each pressure transition effectively becomepressure spike or pressure pulse in the final waveform 918. Thus,existing pressure pulse detection algorithms can be used to identify thepulses. Stated otherwise, detecting pressure transitions in accordancewith the particular embodiment described in reference to FIG. 9advantageously may use related-art pressure pulse detection techniquesonce the final pressure waveform 918 is determined

FIG. 10 shows a method (e.g., an algorithm) used to detect pressuretransitions in accordance with at least some embodiments, and related tothe particular embodiment described in reference to FIG. 9. Inparticular, the illustrative method starts (1000) and proceeds toreading values indicative of pressure within a pipe that has drillingfluid flowing therein, the drilling fluid carries pressure pulses thatencode data as the time between pressure transitions (block 1002). Next,the method involves detecting pressure transitions associated with thepressure pulses (block 1004). Detecting, in some embodiments, furtherinvolves calculating a filtered pressure representation of the valuesindicative of pressure within the pipe (block 1006). In some cases,calculating the filtered pressure representation is high-pass filteringthe pressure waveform; however, any filtering methodology that producesa discernable feature may be equivalently used. Next, the illustrativemethod involves taking an absolute value of the filtered pressurerepresentation (block 1008), and then detecting the pressure transitionsas pressure spikes in the absolute value of the filtered pressurerepresentation (block 1010). Based on the detected pressure spikes, themethod proceeds to determining from an amount of time between pressuretransitions at least a portion of the data encoded in the pressurepulses (block 1012), and the method ends (block 1014).

FIG. 11 shows a plurality of waveforms for discussion of anotherembodiment of detecting pressure transitions at the surface. Inparticular, FIG. 11 shows a pressure waveform 1100 representing drillingfluid pressure read at the surface (with the baseline pressure removed).The illustrative pressure waveform 1100 has four pressure transitions,being two positive pressure transitions 1104 and 1106, as well as twonegative pressure transitions 1108 and 1110. For relatively new drillingrigs, drilling rigs that are well designed, and/or drilling rigs withgood drilling fluid pressure noise cancellation, pressure waveform 1100may be read by a single pressure transducer. In other cases, thewaveform 1100 may be the result of combining the pressure waveforms fromthree or more pressure transducers.

In accordance with the particular embodiment, detecting the pressuretransitions associated with pressure pulses involves calculating arunning average pressure representation, the running averagerepresentation shown in waveform 1112. Each datum in the running averagepressure representation 1112 is the running average of the pressurewaveform 1100 over a predetermined window of values, and the windowmoves in time. The time width of the predetermined window isproportional to the bit rate, and in particular embodiments thepredetermined window is substantially the same as the MIN-TIME used inmodulating the data onto the drilling fluid by the telemetry module 134.For example, the datum 1114 in the running average pressurerepresentation 1112 may be the average of the values in a window 1116 ofthe pressure waveform 1100. Likewise, datum 1118 may be the average ofthe values in window 1120 of the pressure waveform 1100.

Still referring to FIG. 11, and in accordance with the particularembodiment, detecting the pressure transitions associated with thepressure pulses further involves calculating a filtered pressurerepresentation of the pressure waveform 1100, the filtered pressurerepresentation shown in waveform 1122. In at least some embodiments, thefiltering performed is high-pass filtering, but other filteringtechniques (e.g., instantaneous first derivative of the pressurewaveform 1100) may be equivalently used. The filtered pressure waveform1122 thus shows the pressure transitions as positive-going andnegative-going pressure spikes. For example, negative pressuretransitions 1108 in the pressure waveform 1100 results in anegative-going pressure spike 1124 in the filtered pressure waveform1122. Likewise, positive pressure transition 1104 in the pressurewaveform 1100 results in a positive-going pressure spike 1126 in thefiltered pressure waveform 1122.

Detecting the pressure transitions in accordance with the embodimentsillustrated by FIG. 11 involves a relationship between the runningaverage pressure representation 1112 and the filtered pressurerepresentation 1122. In particular, the running average pressurerepresentation 1112 is monitored. When the running average pressurerepresentation 1112 substantially equals a predetermined value (e.g.,the value as shown by dashed line 1128) and the slope of the runningaverage pressure representation 1112 is negative, the filtered pressurewaveform 1122 is searched for negative-going pressure transitions.Likewise, when the running average pressure representation 1112substantially equals a predetermined value and the slope of the runningaverage pressure representation 1112 is positive, the filtered pressurewaveform 1122 is searched for positive-going pressure transitions. It isnoted that while the predetermined value may be the same in someembodiments (and as illustrated by line 1128), the predetermined valuesneed not be the same for the positive going and negative goingindications.

Consider, as an example, datum 1130 in the running average pressurerepresentation 1112. Illustrative datum 1130 is the point where therunning average substantially equals the predetermined value. Moreover,the slope of the running average pressure representation 1112 proximateto datum 1130 is negative (stated otherwise, the first derivative isnegative). Based on the datum being substantially equal to thepredetermined value and the slope being negative, the filtered pressurewaveform 1122 is searched in a window of values for a negative pressuretransition. The running average pressure representation 1112 reaches thepredetermined value after the negative pressure transition occurs. Thus,the window of values within which the filtered pressure waveform 1122 issearched corresponds, at least in part, to the window of values used tocalculate the datum that substantially equaled the predetermined value.The window within which the filtered pressure waveform 1122 is searchedis illustrated by window 1132, and the correspondence between window1132 and the pressure waveform 1100 is showed by dashed lines 1134.

Now consider, as an example, datum 1136 in the running average pressurerepresentation 1112. Illustrative datum 1136 is the point where therunning average again substantially equals the predetermined value.Moreover, the slope of the running average pressure representation 1112at proximate to datum 1136 is positive (stated otherwise, the firstderivative is positive). Based on the datum being substantially equal tothe predetermined value and the slope being positive, the filteredpressure waveform 1122 is searched in a window 1138 of values for apositive pressure transition.

Making a determination as to whether a datum substantially equals thepredetermined value may take many forms. In some embodiments, thepredetermined value may be a small range or window of values, such thatdetermining whether the datum substantially equals the predeterminedvalue involves a comparison of the value of the datum to the window ofvalues. In other embodiments, the predetermined value is a single valueand determining whether the datum substantially equals the predeterminedvalue involves determining a percentage error between the datum and thepredetermined value. For example, if the percentage error between adatum and the predetermined value is equal to or less than apredetermined error (e.g., 0.1%), then the datum may be considered equalto the predetermined value.

In other embodiments, the method involves looking forward in time ratherthan back in time. In particular, in other embodiments when the runningaverage pressure representation 1112 reaches a predetermined value andis negative, the method involves searching forward in time for apositive pressure transitions. For example, datum 1130 meets thepredetermined value and the running average pressure representation 1112is negative, the method searches forward in time for positive pressuretransition 1126. Likewise in the alternative embodiment, datum 1136meets the predetermined value and the running average pressurerepresentation 1112 is positive, the method searches forward in time fornegative pressure transition 1127.

FIG. 12 shows a block diagram that illustrates a logical relationshipbetween various pieces of software to implement the detection systemdiscussed in relation to FIG. 11, and in accordance with at least someembodiments. In particular, the running average pressure representation1112 is supplied to a lockout module 1200. In accordance with theparticular embodiment, the lockout module 1200 makes the determinationas to whether the running average pressure representation 1112 meets thepredetermined value, and calculates the slope of the running averagepressure representation 1112 within the window. The lockout module 1200produces a pair of lockout signals 1202 and 1204. During periods of timewithin which negative pressure transitions should be searched for in thefiltered pressure waveform 1122 (e.g., the running average pressurerepresentation 1112 substantially equals the predetermined value and theslope is negative), the lockout module 1200 asserts lockout signal 1202and de-asserts lockout signal 1204. Likewise, during periods of timewithin which positive pressure transitions should be searched for (e.g.,the running average pressure representation 1112 substantially equalsthe predetermined value and the slope is positive), the lockout module1200 asserts lockout signal 1204 and de-asserts lockout signal 1202.

The illustrative software further comprises a positive transitiondetection module 1206 and a negative transition detection module 1208.Both the positive transition detection module 1206 and the negativetransition detection module 1208 are provided the filtered pressurewaveform 1122. In accordance with at least some embodiments, eachdetection module is configured to search the filtered pressure waveform1122 for respective types of transitions. However, during periods oftime when the respective lockout signals 1202 and 1204 are asserted,transitions detected are ignored. For example, positive transitiondetection module 1206 searches the filtered pressure waveform 1122 forpositive pressure transitions. When a positive pressure transition isdetected, and the lockout 1202 from the lockout block is de-asserted,the positive transition module 1206 provides an indication to the timingdetermination block 1210. If a positive pressure transition is detected,but the lockout 1202 from the lockout block is asserted, the positivetransition module 1206 refrains from providing an indication to thetiming determination block 1210. Likewise, negative transition detectionmodule 1208 searches the filtered pressure waveform 1122 for negativepressure transitions. When a negative pressure transition is detected,and the lockout 1204 from the lockout block is de-asserted, the negativetransition module 1208 provides an indication to the timingdetermination block 1210. If a negative pressure transition is detected,but the lockout 1204 from the lockout block is asserted, the negativetransition module 1208 refrains from providing an indication to thetiming determination block 1210. In other embodiments, the transitionsdetection modules 1206 and 1208 are disabled during periods of time whentheir respective lockout signals 1202 and 1204 are asserted.

The timing determination block 1210 receives the indications from thepositive transition detection module 1206 and negative transitiondetection module 1208, and determines the time between respectivetransitions. In some embodiments, the transition detection modules 1206and 1208 send a value to the timing determination block 1210 indicatingthe time at which a respective positive or negative transition wasdetermined. In yet still other embodiments, the transition detectionmodules 1206 and 1208 send Boolean values, and the timing determinationblock 1210 determines the time between transitions based on a differencein arrival time of the Boolean values from each transition detectionmodule. Based on the time between consecutive transitions, the datavalues encoded by such transitions may be demodulated according to theequations above.

FIG. 13 shows a method (e.g., an algorithm) used to detect pressuretransitions in accordance with at least some embodiments, and related tothe particular embodiment described in reference to FIGS. 11 and 12. Inparticular, illustrative method starts (block 1300) and proceeds toreading values indicative of pressure within a pipe that has drillingfluid flowing therein (where the drilling fluid carries pressure pulsesthat encode data as the time between pressure transitions) (block 1302).Next, the illustrative method involves detecting pressure transitionsassociated with the pressure pulses (block 1304). Detecting, in someembodiments, further comprises calculating a running average of thepressure within the pipe (block 1306). In some embodiments, the windowof values used to calculate each datum of the running average isapproximately the time of the MIN-TIME used to encode data, but otherwindow time durations may be equivalently used. Next, the illustrativemethod involves calculating a filtered pressure representation of thevalues indicative of pressure within the pipe (block 1308). In somecases, calculating the filtered pressure representation is high-passfiltering the pressure waveform; however, any filtering methodology thatproduces a discernable feature may be equivalently used. Next, theillustrative method involves detecting negative pressure transitions inthe filtered pressure representation that correspond in time to therunning average reaching a first predetermined value and the runningaverage having a first slope (block 1310), and detecting positivepressure transitions in the filtered pressure representation thatcorrespond in time to the running average reaching a secondpredetermined value and the running average having a second slope (block1312). Based on the detected pressure transitions, the method proceedsto determining from an amount of time between pressure transitions atleast a portion of the data encoded in the pressure pulses (block 1314),and the method ends (block 1316).

The various embodiments discussed to this point have assumed arelatively noise-free pressure signal detected at the surface, orpre-processing of the signal, to arrive at the pressure waveforms 900(FIG. 9) and 1100 (FIG. 11). The specification now turns tocharacteristics of pressure pulses travelling in a drill string, as wellas physical characteristics of drilling rigs, that adversely affectdetectability of pressure pulses, as well as several alternative methodsto deal with such adverse effects.

Pressure pulses created by the telemetry module 134 downhole travelupstream with a definite speed. Depending on the fluid properties of thedrilling fluid, the speed of the pulse can range from about 3,200 feetper second to about 4,800 feet per second. Noise created when upstreamtraveling pressure pulses reflect to become downstream traveling pulsesconstructively or destructively interacts with the upstream travelingpulses.

For purposes of describing the interaction between upstream travelingpressure pulses and downstream traveling pressure pulses, reference ismade to FIG. 14. FIG. 14 shows a long pipe 1400 having an upstreamportion 1402, downstream portion 1404 and containing drilling fluidmoving in the direction indicated by T. The pipe 1400 may be, forexample, the flow line 118 (FIG. 1), the stand pipe 120 (FIG. 1), orsome combination thereof, and thus the upstream portion 1402 maycomprise desurger 156 and mud pump 116 (shown in symbolic form). Furtherconsider that a pressure transducer (e.g., transducer 136, 138 or 140)is located at the position X1 indicated with the dash line. A pressurepulse created in the downsteam 1404 portion of the pipe 1400 travelsfrom the downstream portion 1404 to the upstream portion 1402. Thetransducer at location X1 detects the pressure pulse as the pulsetraverses the location of the transducer. FIG. 15 shows a graph as afunction of time the pressure read by a transducer at location X1 as anupstream traveling pulse passes location X1, assuming the pressure pulsecreated is a perfect square wave with amplitude A, assuming nointeraction with downstream traveling pressure pulses (discussed below).In some embodiments, the amplitude A may be on the order of a 10-50 PSI,but other larger and smaller amplitudes may be equivalently used. So asnot to unduly complicate the description, the baseline pressure is notshown.

Upstream traveling pressure pulses, such as pressure pulse 1500, reflectfrom reflective devices (e.g., the desurger 156, mud pump 116) to createdownstream traveling pressure pulses. In the case of reflection, adownstream traveling pressure pulse caused by reflection usually has anamplitude sign opposite that of the upstream traveling pulse, and theamplitude of a downstream traveling reflected pressure pulse may beabout half pulse amplitude of the upstream traveling pulse, but otherreflected pulse amplitudes and signs are possible. Thus, for an upstreamtraveling pulse of positive amplitude A, the reflection caused by thereflective devices illustratively creates a downstream traveling pulseof amplitude −A/2. FIG. 16 shows graph as a function of time of pressurepulse 1600 created by reflection of pressure pulse 1500 from thereflective devices, the pressure pulse 1600 as read by a transducer atlocation X1 as the downstream traveling pressure pulse passes thetransducer at location X1, assuming a perfect square wave reflection,and assuming no interaction between the upstream and downstreamtraveling pressure pulses.

The amount of interaction, if any, between an upstream travelingpressure pulse and a downstream traveling pressure pulse is dependentupon the distance of the transmitter from the reflective devices, thepulse time duration and the speed of sound in the drilling fluid. Inmany cases, the speed of sound for drilling fluid is about 4,000 feet/s.If the telemetry module 134 (FIG. 1) produces a pressure pulse with apulse time duration of 100 ms, the pulse length (i.e., the distancebetween the leading and trailing pressure transitions that make up thepulse) is about 400 feet (4000 feet/s×0.1 s). If the telemetry module134 produces a pressure pulse with a pulse time duration of 200 ms, thepulse length is about 800 feet (4000 feet/s×0.2 s).

For purposes of explanation, consider that location X1 is 200 feet fromthe desurger 156 and/or mud pump 116. Further consider that a pressurepulse having a pulse time duration of 100 ms is created by the telemetrymodule 134, and thus the upstream traveling pulse is about 400 feet inlength. For these illustrative parameters, the pressure waveform read bya transducer at location X1 will be as shown in FIG. 17 (again, with thedrilling fluid baseline pressure not shown, and assuming ideal squarewaves). In particular, the transducer initially sees the upstreamtraveling pressure pulse 1700. However, because the distance from thetransducer to the reflective devices and back is 400 feet (200×2), andbecause the pressure pulse in this example has a pulse length of 400feet, the trailing pressure transition 1702 of the upstream travelingpressure pulse passes the transducers just as the leading pressuretransition 1704 of the reflected pulse 1706 reaches the transducer.

Now consider, for the same transducer location (200 feet from thereflective devices), that the telemetry module 134 produces a pressurepulse having a pulse time duration of 200 ms, and thus a pulse length of800 feet. For these illustrative parameters, the pressure waveform readby a transducer at location X1 will be as shown in FIG. 18. Inparticular, the transducer initially sees the upstream travelingpressure pulse, as illustrated by portion 1800. However, because thedistance from the transducer to the reflective devices and back is 400feet (200×2), and because the pressure pulse in this example has a pulselength of 800 feet, the leading edge of the reflected pulses reaches thetransducer before the upstream traveling pressure pulses passes. Thereflected pressure pulse interferes with the upstream travellingpressure pulse, thus creating portion 1802. Next, the trailingtransition of the upstream traveling pressure pulses passes thetransducer, thus the transducer only reads the reflected pressure pulse,as illustrated by portion 1804.

Now consider, for the same transducer location (200 feet from thereflective devices), that the telemetry transmitter 134 produces apressure pulse having a pulse time duration of 50 ms, and thus a pulselength of 200 feet. For these illustrative parameters, the pressurewaveform read by a transducer at location X1 will be as shown in FIG.19. In particular, the transducer initially sees the upstream travelingpressure pulse, as illustrated by portion 1900. However, because thedistance from the transducer to the reflective devices and back is 400feet (200×2), and because the pressure pulse in this example has a pulselength of 200 feet, the trailing pressure transition 1902 passes thetransducer before the leading pressure transition 1904 of the reflectedpressure pulse reaches the transducer. Finally, the reflected pressurepulse 1906 is read by the pressure transducer.

FIGS. 17-19 represent possible detected waveforms for particulartransducers locations and particular pulse lengths. However, with timescaling, the set of possible waveforms of FIGS. 17-19 are illustrativeof detected waveforms for all possible pulse lengths and all possibletransducer locations. Stated otherwise, except for expansion and/orcontraction in size along the time axis, and perhaps amplitude scalingas a function of distance from the reflective devices, the threewaveforms are representative of the waveforms that can be expected forany pulse length and/or transducer location.

From the standpoint of detecting pressure pulses at the surface, anissue with respect to the waveforms of FIGS. 17-19 is their similarity.In particular, when considered that each waveform “rides” the baselinepressure of the drilling fluid, it may be difficult for softwareexecuting in the surface computer 144 to distinguish between, forexample, the waveform of FIG. 18 (with upstream and reflected pressurepulse overlap at the transducer location) and the waveform of FIG. 19(upstream and reflected waveforms pass the transducer at differenttimes). Detecting the pressure pulses, and more particularly thepressure transitions associated with the pressure pulses, thus may bedifficult. In order to address such difficulties, the presentspecification presents multiple embodiments for detecting the pressurepulses and/or pressure transitions, and the first of such embodimentsrelies on the placement of the transducers that create the waveform ofFIG. 17.

In particular, for each pressure pulse time duration there is anassociated pulse length (based on the speed of sound in the drillingfluid). And for each expected pulse length there is a physical placementof a transducer where the distance between the transducer and thereflective device is half the pulse length. Thus, when the telemetrymodule 134 produces a pressure pulse of a particular pulse length, thewaveform read by a transducer located half the pulse length from thereflective devices produces a waveform similar to FIG. 17. Thetransducer placement that results in the waveform of FIG. 17 is referredto as the optimum location. Transducers closer to the reflective device,for same pressure pulse length, read a waveform similar to FIG. 18, andtransducers farther from the reflective devices read a waveform similarto FIG. 19. At least some embodiments for detecting pressure pulsesplace a transducer at each optimum location for the predefined set ofpossible pulse time durations (and therefore pulse lengths) that may bemodulated onto the drilling fluid by the telemetry module 134. Other,related, embodiments choose pulses for the predefined set of possiblepulse time durations (and therefore pulse lengths) that correspond tothe physical locations at which transducers are actually placed.

Consider, as an example, a system where a first number of bits of adatum to be telemetered to the surface is encoded as the time betweencoherent features of consecutive pressure pulses, and a one bit of thedatum is encoded as the time between pressure transitions of one of thepulses (embodiments of FIG. 5). The illustrative system will have apredefined set of two possible pulse time durations—one pulse timeduration representing a data value zero, and a second pulse timeduration representing a data value one. Further consider that, withrespect to the single bit encoded in the pressure transitions, a datavalue zero is encoded as pressure transitions of 50 ms apart (i.e., apressure pulse 50 ms long) and a data value one is encoded as pressuretransitions of 100 ms apart. For drilling fluid have a speed of sound ofabout 4,000 feet/s, the predefined set of pulse time durations {50 ms,100 ms} results in two possible pulse lengths of 200 feet and 400 feet,respectively.

In accordance with these embodiments, a first transducer (e.g.,transducer 138 (FIG. 1)) is located 100 feet from the desurger 156and/or mud pump 116, and a second pressure transducer (e.g., transducer136 (FIG. 1)) is located 200 feet from the desurger 156 and/or mud pump116. It follows that regardless of whether the telemetry module 134modulates a 50 ms pressure pulse (200 feet long) or a 100 ms pressurepulse (400 feet long), there is a pressure transducer located at theoptimum location of each possible pressure pulse time duration. In somecases, the predetermined set pulse time durations may be communicated tothe downhole device by way of a downlink communication using thedrilling fluid as the propagation medium.

In accordance with the particular embodiments that use a transducer ateach optimum location for a given predefined set of pulse durations,determining the pulse time duration modulated by the telemetry module134 involves, for each pressure signal read at the surface, correlating(in some cases mathematically, or graphically convolving) the pressuresignal to a test pressure signal that represents the expected waveformof the pressure signal read if the pulse time duration corresponds tothe location of the transducer. The pressure signal that has the highestcorrelation to its respective test pressure signal thus indicates thepulse time duration modulated downhole. For the illustrative predefinedset of possible pulse time durations {50 ms, 100 ms}, FIG. 20 representsa set of test pressure signals that correspond to the set of possiblepulse durations. In particular, test pressure signal 2000 is thewaveform (with baseline pressure not shown) that would be expected to bereceived by a transducer at a location 100 feet from the reflectivedevices when pressure transitions 50 ms apart are created downhole(assuming a positive pulse and a 4,000 feet/s speed of sound in thedrilling fluid). Likewise, test pressure signal 2002 is the waveform(with baseline pressure not shown) that would be expected to be receivedby a transducer at a location 200 feet from the reflective devices whenpressure transitions 100 ms apart are created downhole (again assuming apositive pulse and a 4,000 feet/s speed of sound in the drilling fluid).

To determine which of the illustrative two possible pulses weremodulated downhole, the test pressure signal 2000 is correlated to thewaveform read by the transducer 100 feet from the reflective devices,and test pressure signal 2002 is correlated to the waveform read by thetransducer 200 feet from the reflective devices. The pressure waveformwith the highest degree of correlation to its test pressure signal thusidentifies the pulse time duration modulated downhole. FIGS. 21 and 22show illustrative results of correlating (in this particular case byconvolution) received pressure waveforms to test pressure waveforms. Inparticular, FIG. 21 shows, for an illustrative 50 ms pressure pulsecreated downhole, correlation of the test pressure signal 2000 to thepressure waveform received by a transducer 100 feet from the reflectivedevices by dash-dot-dash line 2100, and correlation of the test pressuresignal 2002 to the pressure waveform received by the transducers 200feet from the reflective devices by solid line 2102. Because thetransducer located 100 feet from the reflective devices is at theoptimum location for pressure pulse of 50 ms, the highest degree ofcorrelation is shown by the dash-dot-dash line 2100.

FIG. 22 shows, for an illustrative 100 ms pressure pulse createddownhole, correlation of the test pressure signal 2000 to the pressurewaveform received by a transducer 100 feet from the reflective devicesby dash-dot-dash line 2202, and correlation of the test pressure signal2002 to the pressure waveform received by the transducers 200 feet fromthe reflective devices by solid line 2200. Because the transducerlocated 200 feet from the reflective devices is at the optimum locationfor pressure pulse of 100 ms, the highest degree of correlation is shownby the solid line 2200.

It is noted that the illustrative test pressure signals of FIG. 20assume a positive-pulse system. However, in cases where the telemetrymodule 134 is a negative-pulse system, the test pressure signals aremodified (e.g., by a rotation about the time axis) to compensate.Moreover, the test pressure signals of FIG. 20 assume a particular speedof sound in the drilling fluid. Should the speed of sound change, theoptimum location changes. Further still, in explaining determining thepulse time duration of a pressure pulse created downhole only twopossible pulse time durations were in the predefined set; however, twomembers of the set were used so as not to unduly complicate thedescription. Any number of pulse time durations may be used in thepredefined set. For example, if two bits of a datum are to be encoded inthe time between pressure transitions for a pressure pulse, then thepredefined set will comprise four possible pulse durations (i.e., 2 ^(N)members of the set, where N is the number of bits). Likewise for thisexample, there will be four transducers at the surface, each transducerat the optimum location for a particular pulse time duration, and therewill be four test pressure signals (one for each optimum location).

FIG. 23 shows a method (e.g., a portion of which may be implemented assoftware in computer system 144) in accordance with at least someembodiments. In particular, the method starts (block 2300) and proceedsto inducing a pressure pulse in drilling fluid within a drill string,the pressure pulse has a pulse time duration from a predefined set ofpossible pulse time durations (block 2302). After propagating to thesurface, the method involves reading at a first location pressurevariations caused by passage of the pressure pulse (the reading createsa first pressure signal) (block 2304), and reading at a second locationpressure variations caused by passage of the pressure pulse (the readingat the second location creates a second pressure signal) (block 2306).Based on the reading steps, the illustrative method then proceeds todetermining the pulse time duration of the pressure pulse (block 2308).In at least some embodiments, determining the pulse time durationcomprises: correlating the first pressure signal to a first testpressure signal, the first test pressure signal represents an expectedwaveform for a first pulse duration of the predefined set of possiblepulse time durations (block 2310); correlating the second pressuresignal to a second test pressure signal, the second test pressure signalrepresents an expected waveform for a second pulse duration of thepredefined set of possible pulse time durations (block 2312); andestablishing the pulse time duration of the pressure pulse based on thecorrelating (block 2314). Thereafter, the method ends (block 2316). Inat least some embodiments, the correlating is by way of a convolution,but other equivalent correlation techniques may be equivalently used.

The embodiments discussed above regarding detecting pressure pulses byhaving a transducer at each optimum location are based on twoassumptions. First, that the length of the flow pipe 118 and stand pipe120 are long enough to accommodate a pressure transducer at each optimumlocation (assuming the locations dictated by the desired pressurepulses). Second, that there is no limitation regarding placement oftransducers, or changing the location of transducers. However, in somesituations the drilling rig may not be owned by the same company thatprovides the telemetry module 134, transducers (e.g., 136, 138 and 140),and surface computer 144. Thus, one may not have the ability to modifythe equipment to achieve placement at each optimum location. Moreover,for longer pulse time durations (e.g., 200 ms, 300 ms), the optimumlocation may be beyond the length of the flow pipe 118 and stand pipe120, such as piping arrangement of offshore oil platforms. Thus, in somesituations optimum placement for desired pulse time durations may not bepossible, and/or suitable pulse time durations for available transducerlocations may not be suitable.

In order to address these concerns, this specification disclosesembodiments of detecting pressure transitions, and thus pressure pulses,which do not necessarily utilize placement of the transducers at optimumlocations. Rather, in accordance with these embodiments, an array oftransducers are used (i.e., three or more transducers) and the placementof the array of transducers is arbitrary. In order to explain the arrayembodiments, reference is now made to FIG. 24. FIG. 24 shows a pipe 2400that contains drilling fluid moving in the direction indicated by T. Thepipe 2400 may be, for example, the flow line 118 (FIG. 1), the standpipe 120 (FIG. 1), or some combination thereof, and thus may comprisedesurger 156 and mud pump 116 (shown in symbolic form) on the upstreamend. Further consider that four pressure transducers are located alongthe pipe 2400 (at locations X1, X2, X3 and X4), one pressure transducerat each position indicated with a dashed line. While the transducerplacement is evenly spaced in FIG. 24, any physical placement willsuffice, as discussed more below.

Also consider a pressure pulse (comprising a leading pressure transitionfollowed by a trailing pressure transition) created by a telemetrymodule 134 that travels from the downstream portion toward the desurger156 and mud pump 116 (i.e., opposite the direction of travel of thedrilling fluid). Further consider that the pulse length is such thatthere is some destructive interference between the upstream travelingpressure pulse and its downstream traveling reflection at eachtransducer location.

FIG. 25 shows four illustrate plots as function of corresponding time ofpressure read by each of the illustrative four transducers of FIG. 24.In particular, plot 2500 shows the pressure waveform read by atransducer at location X4. Plot 2502 shows the pressure waveform read bya transducer at location X3. Plot 2504 shows the pressure waveform readby a transducer at location X2. And plot 2506 shows the pressurewaveform read by a transducer at location X1. As the illustrativepressure pulse propagates upstream the leading pressure transition firstpasses the transducer at location X4 (as indicated by pressuretransition 2508), then the leading pressure transition passes thetransducer at location X3 (as indicated by pressure transition 2510),and so on for each transducer at each location (as indicated by pressuretransitions 2512 and 2514 for locations X2 and X1, respectively).

The illustrative pressure pulse reflects off the reflective devices, andthe leading pressure transition of the reflected pressure pulse is readby each transducer, in this case destructively interfering. Thus, as thereflected pressure pulse propagates downstream, the leading pressuretransition of the reflected pulse first passes the transducer atlocation X1 (indicated by pressure transition 2516), then the leadingpressure transition of the reflected pulse passes the transducer atlocation X3 (indicated by pressure transition 2518), and so on for eachtransducer at each location (as indicated by pressure transitions 2520and 2522 for locations X3 and X4, respectively).

Eventually the trailing pressure transition of the upstream travelingpressure pulses passes the transducer at location X4 (as indicated bypressure transition 2524), then the trailing pressure transition of theupstream traveling pulse passes the transducer at location X3 (asindicated by pressure transition 2526), and so on for each transducer ateach location (as indicated by pressure transitions 2528 and 2530 forlocations X2 and X1, respectively).

Finally, the trailing pressure transition of the reflected pulse firstpasses the transducer at location X1 (indicated by pressure transition2532), then the trailing pressure transition of the reflected pulsepasses the transducer at location X2 (indicated by pressure transition2534), and so on for each transducer at each location (as indicated bypressure transitions 2536 and 2538 for locations X3 and X4,respectively).

In accordance with at least some embodiments, determining an amount oftime between the leading pressure transition of the upstream travelingpressure pulse and the trailing pressure transition of the upstreamtraveling pressure pulse involves algorithmically shifting at least twoof the pressure signals or pressure waveforms based on distance betweentransducers, and an expected speed of sound in the drilling fluid, suchthat corresponding features of the pressure waveforms are substantiallyaligned in time. More particularly, one transducer is selected as the“base” transducer, the pressure waveform read by the base transducer isnot shifted. For the balance of the transducers, the pressure waveformread by each transducer is shifted in time by an amount that isproportional to the distance between the “base” transducer and theparticular transducer, and the speed of sound in the drilling fluid.Shifting may be either back in time (e.g., to align the leading pressuretransitions of the upstream traveling pulse), or the shifting may beforward in time (e.g., to align the trailing pressure transition of theupstream traveling pulse). Moreover, in other embodiments the shiftingmay align the pressure transitions of the reflected pressure pulse.

FIG. 26 shows the illustrative pressure waveforms of FIG. 25 where thetransducer at location X4 is considered the base transducer, and theremaining pressure waveforms are shifted to align the leading pressuretransition in each waveform (i.e., shifted back in time). In accordancewith the particular embodiment, the shifted waveforms are thencorrelated to determine an amount of time between the leading pressuretransition and the trailing pressure transition of the upstreamtraveling pressure pulse. In some embodiments, the correlating is by wayof summing the value of the pressure waveforms at corresponding pointsin time for each of the pressure waveforms. FIG. 27 shows anillustrative summation of the shifted pressure waveforms of FIG. 26.Note the large leading spike 2700 that corresponds to the leadingpressure transition of the upstream traveling pressure pulse, and thelarge negative spike 2702 that corresponds to the trailing pressuretransition of the upstream traveling pressure pulse. Thus, in accordancewith the particular embodiment the determining the time between theleading transition and the trailing pressure transition involvesidentifying the pressure spikes 2700 and 2702 in the pressure waveformof FIG. 27. In some embodiments, the pressure waveform of FIG. 27 may bemodified by taking the absolute value of the waveform to be similar tothe embodiments of FIG. 9, waveform 918. In such embodiments,determining the time between pressure transitions may be based ondetermining the time between pressure spikes with each spike detected asan individual pressure pulse.

The illustrative waveforms in FIGS. 25-27 assume a positive-pulsesystem. However, in other embodiments the telemetry module 134 is anegative-pulse system, and yet the various embodiments are stilloperational (i.e., merely invert the waveforms in FIGS. 25-27).Moreover, in FIGS. 25-27 the drilling fluid baseline pressure is notshown so as not to unduly complicate the figures; however, in each casethe waveforms shown actually “ride” the baseline pressure. FIGS. 25-27illustrate the case of four pressure transducers in the array; however,any number of transducers being three or more may be used in accordancewith these embodiments. Finally, while the waveforms of FIG. 25-27assume reflection and destructive interference at each transducerlocation, the embodiments are equally applicable to situations wherethere is no interference between an upstream traveling pressure pulseand its reflection, as well as mixed cases (e.g., the closest transducerto the reflective devices sees interference between the upstreamtraveling pressure pulse and its reflection, but not other transducers).

FIG. 28 shows a method (e.g., a portion of which may be implemented assoftware in computer system 144) in accordance with at least someembodiments. In particular, the method starts (2800) and proceeds toinducing a pressure pulse in drilling fluid within a drill string, thepressure pulse has a leading pressure transition and a trailing pressuretransition (block 2802). Next, the illustrative method involves reading,at three or more separate locations displaced from a reflective device,pressure variations caused by passage of the pressure pulse, the readingcreates at least three pressure signals (block 2804). Then methodproceeds to determining a time between the leading pressure transitionand the trailing pressure transition (block 2806). In at least someembodiments, determining a time between the leading pressure transitionand the trailing pressure transition involves: algorithmically shiftingat least two of the pressure signals based on an expected speed of soundin the drilling fluid such that corresponding features of the at leastthree pressure signals are substantially aligned in time (block 2808);and then correlating the at least three pressure signals (block 2810);and determining an amount of time between the leading pressuretransition and the trailing pressure transition of the pressure pulse(block 2812). Thereafter, the illustrative method ends (block 2814).

In accordance with at least some embodiments, algorithmically shiftingat least two of the pressure signals involves shifting at least two ofthe pressure signals back in time such that leading pressure transitionsamong the pressure signals are substantially aligned. In otherembodiments, algorithmically shifting at least two of the pressuresignals involves shifting at least two of the pressure signals forwardin time such that trailing pressure transitions among the pressuresignals are substantially aligned. Moreover, in some embodimentscorrelating the pressure signals involves summing corresponding pointsin time of the pressure signals, and thereby creating a summed signal.

The various embodiments discussed to this point have been with respectto communication between the telemetry module 134 and the surfacedevices. However, the same data encoding and pressure pulse transitiontechniques may be used in communication from the surface to the downholedevices. For example, pressure pulses may be created at the surface andallowed to propagate downhole. A single pressure transducer co-locatedwith the downhole tools 132 and telemetry module 134, or an array ofsuch transducers, may be used to detect pressure pulses in the samemanner as discussed above.

The specification discusses in many locations transducers (such astransducers 136, 138 and 140) coupled to the flow line 118 and/or riser120. In some embodiments, the transducers are pressure transducers orpressure transmitters that are coupled to the piping in such a way as tobe in fluidic communication with the drilling fluid. Such transducersmay create an analog representation of the pressure of the drillingfluid, or a series of digital values (each correlated to time)representative of the pressure in the drilling fluid. However, othertypes of transducer devices that produce output signals proportional todrilling fluid pressure, changes in drilling fluid pressure as sensed byminute expansion and/or contraction of the piping, and/or transducersthat sense drilling fluid may be equivalently used.

FIG. 29 shows a set of illustrative internal components of computersystem 144 (FIG. 1). In particular, the computer system 144 comprises aprocessor 2900 coupled to a memory device 2902 by way of a bridge device2904. Although only one processor 2900 is shown, multiple processorsystems, and systems where the “processor” has multiple processingcores, may be equivalently implemented. The processor 2900 couples tothe bridge device 2904 by way of a processor bus 2906, and memory 2902couples to the bridge device 2904 by way of a memory bus 2908. Memory2902 is any volatile or any non-volatile memory device, or array ofmemory devices, such as random access memory (RAM) devices, dynamic RAM(DRAM) devices, static DRAM (SDRAM) devices, double-data rate DRAM (DDRDRAM) devices, or magnetic RAM (MRAM) devices.

The bridge device 2904 comprises a memory controller and asserts controlsignals for reading and writing of the memory 2902, the reading andwriting both by processor 2900 and by other devices coupled to thebridge device 2904 (i.e., direct memory access (DMA)). The memory 2902is the working memory for the processor 2900, which stores programsexecuted by the processor 2900 and which stores data structures used bythe programs executed on the processor 2900. In some cases, the programsheld in the memory 2902 are copied from other devices (e.g., hard drive2912 discussed below or from other non-volatile memory) prior toexecution.

Bridge device 2904 not only bridges the processor 2900 to the memory2902, but also bridges the processor 2900 and memory 2902 to otherdevices. For example, the illustrative computer system 144 may comprisean input/output (I/O) controller 2910 which interfaces various I/Odevices to the processing unit 2900. In the illustrative computer system144, the I/O controller 2910 enables coupling and use of non-volatilememory devices such as a hard drive (HD) 2912, “floppy” drive 2914 (andcorresponding “floppy disk” 2916), an optical drive 2918 (andcorresponding optical disk 2920) (e.g., compact disk (CD), digitalversatile disk (DVD)), and also enables coupling of a pointing device or2922, and a keyboard 2924.

Still referring to FIG. 29, the bridge device 2904 further bridges theprocessor 2900 and memory 2902 to other devices, such as a graphicsadapter 2926 and communication port or network adapter 2928. Graphicsadapter 2926 is any suitable graphics adapter for reading display memoryand driving a display device or monitor 2930 with graphic imagesrepresented in the display memory. Network adapter 550 enables theprocessing unit 500 to communicate with other computer systems over acomputer network 120.

Programs implemented and executed to read pressure signals detected bytransducers coupled to the flow line 118 and/or riser 120, and todetermine the time between pressure pulses and/or the time betweenpressure transitions convert the illustrative computer system of FIG. 29into a special purpose machine to perform the illustrative methodsdiscussed above. Moreover, the programs that turn computer system 144into a special purpose machine may be stored and/or executed from any ofthe computer-readable storage mediums illustrated (e.g., memory 2902,optical device 2920, “floppy” device 2916 or hard drive 2912).

From the description provided herein, those skilled in the art arereadily able to combine software created as described with appropriatecomputer hardware to create a special-purpose computer system and/orother computer subcomponents in accordance with the various embodiments,to create a special-purpose computer system and/or computersubcomponents for carrying out the methods for various embodiments,and/or to create a computer-readable storage medium or mediums forstoring a software program, that, when executed by a processor, reversethe processor and the machine in which the processor operates into aspecial-purpose of machine.

The above discussion is meant to be illustrative of the principles andvarious embodiments of the present invention. Numerous variations andmodifications will become apparent to those skilled in the art once theabove disclosure is fully appreciated. It is intended that the followingclaims be interpreted to embrace all such variations and modifications.

What is claimed is:
 1. A computer-readable storage medium storing aprogram that, when executed by a processor, causes the processor to:read values indicative of pressure within a pipe that has drilling fluidflowing therein, the drilling fluid carries pressure pulses that encodedata; detect, in the values indicative of pressure, pressure transitionsassociated with the pressure pulses by causing the processor to: createa filtered pressure time series from the values indicative of pressure;take the absolute value of the filtered pressure time series; and detectpressure transitions as pressure spikes in the absolute value of thefiltered pressure time series; decode from an amount of time betweenpressure transitions at least a portion of the data encoded in thedrilling fluid.
 2. The computer-readable medium of claim 1 wherein whenthe processor reads, the program causes the processor to read valuesindicative of pressure within the pipe that carries pressure pulsescreated by a down hole device.
 3. The computer-readable medium of claim1 wherein when the processor creates the filtered pressure time series,the program causes the processor to high-pass filter the valuesindicative of pressure.
 4. The computer-readable storage medium of claim1 wherein when the processor reads values, the program further causesthe processor to at least one selected from the group consisting of:read values indicative of pressure from a pressure transducer; readingvalues indicative of changes in pressure from a transducer.
 5. Atelemetry detection method comprising: reading, by a computer systemcoupled to a pressure transducer, values indicative of pressure within apipe that has drilling fluid flowing therein, the drilling fluid carriespressure pulses that encode data as the time between pressuretransitions; detecting pressure transitions associated with the pressurepulses by: calculating a filtered pressure representation of the valuesindicative of pressure within the pipe; taking an absolute value of thefiltered pressure representation; and detecting pressure transitions aspressure spikes in the absolute value of the filtered pressurerepresentation; and determining from an amount of time between pressuretransitions at least a portion of the data encoded in the pressurepulses.
 6. The telemetry detection method of claim 5 wherein readingfurther comprises reading values indicative of pressure within the pipethat carries pressure pulses created by a down hole device in a drillingoperation.
 7. The telemetry detection method of claim 5 whereincalculating the filtered pressure representation further comprisescalculating high-pass filtering the values indicative of pressure.
 8. Amethod comprising: obtaining, by a device within a drill string, a firstdatum indicative of a state or condition downhole; inducing pressurepulses in drilling fluid within the drill string, the pressure pulsespropagate to the surface, comprising: encoding a first portion of thefirst datum as an amount of time between coherent features of a firstpressure pulse and an immediately subsequent second pressure pulse; andencoding a second portion of the first datum as an amount of timebetween a first pressure transition and an immediately subsequent secondpressure transition of at least one selected from the group consistingof: the first pressure pulse; and the second pressure pulse.
 9. Themethod of claim 8 wherein encoding the first portion further comprisesencoding a first number of bits in the range of 3 to 6 bits.
 10. Themethod of claim 9 wherein encoding the second portion further comprisesencoding a second number of bits in the range of 1 to 3 bits.
 11. Themethod of claim 8 further comprising wherein inducing pressure pulsesfurther comprises inducing positive pressure pulses.
 12. The method ofclaim 8 further comprising wherein inducing pressure pulses furthercomprises inducing negative pressure pulses.
 13. A computer-readablestorage medium storing a program that, when executed by a processor,causes the processor to: read values indicative of pressure within apipe that has drilling fluid flowing therein, the drilling fluid carriespressure pulses that encode data; detect, in the values indicative ofpressure, an amount of time between coherent features of a firstpressure pulse and an immediately subsequent second pressure pulse;detect, in the values indicative of pressure, an amount of time betweena first pressure transition and an immediately subsequent secondpressure transition; decode from the amount of time between the firstand second pressure pulses a first portion of the value sent from thedownhole device; and decode from the amount of time between the firstand second pressure transitions a second portion of the value sent fromthe downhole device.
 14. The computer-readable medium of claim 13wherein when the processor decodes the first portion, the program causesthe processor to decode a first number of bits in the range of 3 to 6bits.
 15. The computer-readable medium of claim 13 wherein when theprocessor decodes the second portion, the program causes the processorto decode a second number of bits in the range of 1 to 3 bits.
 16. Thecomputer-readable storage medium of claim 13 wherein the first andsecond pressure transitions are pressure transitions being part of atleast one from the group consisting of: the first pressure pulse; andthe second pressure pulse,
 17. The computer-readable medium of claim 13wherein when the processor reads values, the program causes theprocessor to read values indicative of pressure within the pipe thatcarries pressure pulses created by a down hole device.
 18. Thecomputer-readable storage medium of claim 13 wherein when the processorreads values, the program further causes the processor to at least oneselected from the group consisting of: read values indicative ofpressure from a pressure transducer; reading values indicative ofchanges in pressure from a transducer.
 19. A telemetry methodcomprising: inducing a pressure pulse in drilling fluid within a drillstring, the pressure pulse has a pulse time duration from a predefinedset of possible pulse time durations; reading, at a first locationdisplaced from a reflective device, pressure variations caused bypassage of the pressure pulse, the reading creates a first pressuresignal; reading, at a second location displaced from the reflectivedevice, pressure variations caused by passage of the pressure pulse, thereading at the second location creates a second pressure signal;determining the pulse duration of the pressure pulse by: correlating thefirst pressure signal to a first test pressure signal, the first testpressure signal represents an expected waveform for a first pulseduration of the predefined set of possible pulse time durations;correlating the second pressure signal to a second test pressure signal,the second test pressure signal represents an expected waveform for asecond pulse duration of the predefined set of possible pulse timedurations; and establishing the pulse time duration of the pressurepulse based on the correlating.
 20. The telemetry method of claim 19wherein establishing the pulse duration further comprises establishingthe pulse duration as the pulse duration with the highest correlation.21. The telemetry method of claim 19 further comprising: whereininducing further comprises inducing by a device down hole; and whereinreading at the first and second locations further comprises reading atthe first and second locations at the surface.
 22. The telemetry methodof claim 21 further comprising, prior to inducing, sending an indicationof the predefined set of possible pulse time durations, the indicationbased on available location for pressure transducers at the surface. 23.The telemetry method of claim 19 further comprising: wherein thepredefined set comprises a first pulse time duration that corresponds toa first pulse length and a second pulse time duration that correspondsto a second pulse length; wherein reading at the first location furthercomprises reading at a location that is substantially half the firstpulse length from the reflective device; and wherein reading at thesecond location further comprises reading at a location that issubstantially half the second pulse length from the reflective device.24. A telemetry system comprising: a down hole device that creates apressure pulse in drilling fluid within a drill string, the pressurepulse has a pulse length selected from a predefined set of pulse lengthsthat comprises a first pulse length and a second pulse length longerthan the first pulse length, and the pulse length selected based on thedata encoded in the pressure pulse; a first transducer that readspressure variations in the drilling fluid and thereby creates a firstpressure signal, the first transducer at a first location that issubstantially half the first pulse length from a reflective device; asecond transducer that reads pressure variations in the drilling fluidto create a second pressure signal, the second transducer at a secondlocation that is substantially half the second pulse length from areflective device; a computer system coupled to the first and secondtransducers, the computer system has a processor and a memory devicecoupled to the processor, and the memory device stores a program that,when executed by the processor, causes the processor to: read the firstand second pressure signals; correlate the first pressure signal to afirst test pressure signal, the first test pressure signal represents anexpected waveform at the first location if the pressure pulse has thefirst pulse length; correlate the second pressure signal to a secondtest pressure signal, the second test pressure signal represents anexpected waveform at the second location if the pressure pulse has thesecond pulse length; and determine the pulse length based on thecorrelating of the first and second pressure signals to the respectivefirst and second test pressure signals.
 25. The telemetry system ofclaim 24 wherein determining the pulse length further comprisesdetermining the pulse length of the pressure pulse as a pulse lengthassociated with the first or second set of test pressure signals withthe highest correlation.
 26. The telemetry system of claim 24 furthercomprising: wherein the predefined set of pulse length further comprisesa third pulse length longer than the second pulse length; a thirdtransducer that reads pressure variations in the drilling fluid tocreate a third pressure signal, the third transducer at a third locationthat is substantially half the third pulse length from a reflectivedevice; and said memory comprises the program that, when executed by theprocessor, further causes the processor to: correlate the third pressuresignal to a third test pressure signal, the third test pressure signalrepresents an expected waveform at the third location if the pressurepulse has the third pulse length; and determine the pulse length basedon the correlating of the first, second and third pressure signals tothe respective first, second and third test pressure signals.
 27. Atelemetry method comprising: inducing a pressure pulse in drilling fluidwithin a drill string, the pressure pulse has a leading pressuretransition and a trailing pressure transition; reading, at least threeseparate locations displaced from a reflective device, pressurevariations caused by passage of the pressure pulse, the reading createsat least three pressure signals; determining a time between the leadingpressure transition and the trailing pressure transition by:algorithmically shifting at least two of the pressure signals based onan expected speed of sound in the drilling fluid such that correspondingfeatures of the at least three pressure signals are substantiallyaligned in time; and then correlating the at least three pressuresignals; and determining an amount of time between the leading pressuretransition and the trailing pressure transition of the pressure pulse.28. The telemetry method of claim 27 further comprising: whereincorrelating further comprises summing corresponding points in time ofthe at least three pressure signals and thereby creating a summedsignal; and wherein determining further comprises identifying pressurespikes in the summed signal as pressure transitions of the pressurepulse.
 29. The telemetry method of claim 27 further comprising: whereininducing further comprises inducing by a device down hole; and whereinreading at the at least three locations further comprises reading at thesurface.
 30. The telemetry method of claim 27 wherein algorithmicallyshifting further comprises algorithmically shifting at least two of thepressure signals back in time such that leading pressure transitionsamong the at least three pressure signals are substantially aligned intime.
 31. The telemetry method of claim 27 wherein algorithmicallyshifting further comprises algorithmically shifting at least two of thepressure signals forward in time such that trailing pressure transitionsamong the at least three pressure signals are substantially aligned intime.
 32. A computer-readable storage medium storing a program that,when executed a processor, causes the processor to: read, by way of atleast three transducers, values indicative of pressure within a pipethat has drilling fluid flowing therein, the drilling fluid carries apressure pulse that has a leading pressure transition and a trailingpressure transition; create at least three pressure time seriescorresponding to the at least three transducers; shift at least two ofthe pressure time series based on an expected speed of sound in thedrilling fluid such that corresponding features of the at three timeseries are substantially aligned in time; and then correlate the atleast time series; and determine an amount of time between the leadingpressure transition and the trailing pressure transition of the pressurepulse.
 33. The computer-readable storage medium of claim 32 furthercomprising: when the processor correlates, the program causes theprocessor to sum corresponding points in time of the at least threepressure time series and thereby create a summed time series; and whenthe processor determines, the program further causes the processor toidentify pressure spikes in the summed time series as pressuretransitions of the pressure pulse.
 34. The computer-readable storagemedium of claim 32 wherein when the processor shifts, the program causesthe processor to shift at least two of the pressure time series back intime such that leading pressure transitions among the at least threepressure time series are substantially aligned in time.
 35. Thecomputer-readable storage medium of claim 32 wherein when the processorshifts, the program causes the processor to shift at least two of thepressure signals forward in time such that trailing pressure transitionsamong the at least three pressure signals are substantially aligned intime.